package Java中的集合.ArrayListMethod;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @Auther:云尚学Java
 */
//iterator();迭代器的使用
public class IteratorTest {
    public static void main(String[] args) {
        /**
         * 父类集合接口<数据类型> 集合名称=new 父类集合接口的实现类<数据类型>()
         * 按照集合的声明格式，去声明集合
         */
        List<Integer> list=new ArrayList<Integer>();
        /**
         * 利用add()向集合中新增一个元素
         * 每调用一次就代表新增一个元素
         */
        list.add(1);
        list.add(2);
        list.add(2);
        list.add(4);
        list.add(5);
        /**
         * 8.iterator(),迭代器的使用
         * 遍历元素，将集合中的元素转移出来再进行遍历
         */
        Iterator<Integer> iterator=list.iterator();//将集合中的元素转换为迭代器进行存储
        /**
         * 从迭代器中去遍历元素，只有条件就能够执行下去
         * iterator.hasNext()判断是否有元素
         * iterator.next()有元素取出
         */
        while(iterator.hasNext()){
            Integer num=iterator.next();//有元素取出
            //System.out.println(num);
            if(num==2){
                iterator.remove();
            }
        }
        /**
         * 再去遍历元素，看重复元素2是否删除
         */
        for (Integer num : list) {
            System.out.println(num);
        }
        /**
         * 迭代器的总结：
         * 1.将集合中的元素转换为迭代器进行存储Iterator<Integer> iterator=list.iterator();
         * 2.while循环遍历  条件为iterator.hasNext()
         * 3.获取元素 iterator.next();
         * 4.根据需求进行删除iterator.remove();
         */
    }
}
